/**
 * 对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。
 * @param arr
 * @returns {*}
 */

function steamroller(arr) {
    // I'm a steamroller, baby
    var newArr=[];
    function fun(a){
        for(var j=0;j<a.length;j++){
            if(Array.isArray(a[j])===true){
                fun(a[j]);
            }else{
                newArr.push(a[j]);
            }
        }
        return newArr;
    }
    fun(arr);
    console.log(newArr);
    return newArr;
}


steamroller([1, [2], [3, [[4]]]]);